//package com.wwy.user.config;
//
//import cn.hutool.core.collection.CollUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//import springfox.documentation.builders.ApiInfoBuilder;
//import springfox.documentation.builders.PathSelectors;
//import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.service.ApiInfo;
//import springfox.documentation.spi.DocumentationType;
//import springfox.documentation.spring.web.plugins.Docket;
//import springfox.documentation.swagger2.annotations.EnableSwagger2;
//
//import java.util.LinkedHashSet;
//
//@Slf4j
//@EnableSwagger2
//@Configuration
//public class SwaggerConfig implements WebMvcConfigurer {
//
//    /**
//     * 是否开启swagger，生产环境一般关闭
//     */
//    @Value("${swagger.enable:}")
//    private boolean enable;
//
//    /**
//     * 项目应用名
//     */
//    @Value("${swagger.title:}")
//    private String title;
//
//    /**
//     * 项目版本信息
//     */
//    @Value("${swagger.version:}")
//    private String version;
//
//    /**
//     * 项目描述信息
//     */
//    @Value("${swagger.description:}")
//    private String description;
//
//    @Bean
//    public Docket companyApi() {
//        return createRestApi("用户管理", "com.wwy.user");
//    }
//
//
//    private Docket createRestApi(String groupName, String basePackage) {
//        return new Docket(DocumentationType.SWAGGER_2).pathMapping("/")
//                // 分组名称
//                .groupName(groupName)
//                // 定义是否开启swagger，false为关闭，可以通过变量控制
//                .enable(enable)
//                // 将api的元信息设置为包含在json ResourceListing响应中。
//                .apiInfo(apiInfo())
//                // 选择哪些接口作为swagger的doc发布
//                .select()
//                .apis(RequestHandlerSelectors.basePackage(basePackage))
//                .paths(PathSelectors.any())
//                .build()
//                // 支持的通讯协议集合
//                .protocols(new LinkedHashSet<>(CollUtil.toList("https", "http")));
//    }
//
//    /**
//     * API 页面上半部分展示信息
//     */
//    private ApiInfo apiInfo() {
//        return new ApiInfoBuilder()
//                // 设置文档的标题
//                .title(title)
//                // 设置文档的描述
//                .description(description)
//                // 设置文档的版本信息
//                .version(version)
//                .build();
//    }
//
//
//}
